<?php
// +----------------------------------------------------------------------
// | HkCms 前台Controller
// +----------------------------------------------------------------------
// | Copyright (c) 2012-2019 http://www.hkcms.cn, All rights reserved.
// +----------------------------------------------------------------------
// | Author: 广州恒企教育科技有限公司 <admin@hkcms.cn>
// +----------------------------------------------------------------------

namespace common\controller;

class Base extends Hkcms {

    //初始化
    public function _initialize() {
        parent::_initialize();
        //静态资源路径
        $this->assign('model_extresdir', self::$Cache['Config']['siteurl'] . MODULE_EXTRESDIR);

        // 读取模板公共配置
        $this->assign('tpl', hk_templateConfig('config'));

        \think\Hook::add('view_filter','\\app\\content\\behavior\\Tags');
    }

    /**
     * 模板显示 调用内置的模板引擎显示方法，
     * @param string $template
     * @param array $vars
     * @param array $replace
     * @param array $config
     * @return mixed
     */
    protected function display($template = '', $vars = [], $replace = [], $config = []) {
        return $this->view->fetch(parseTemplateFile($template), $vars, $replace, $config);
    }

    /**
     *  创建静态页面
     * @access protected
     * @htmlfile 生成的静态文件名称
     * @htmlpath 生成的静态文件路径
     * @param string $templateFile 指定要调用的模板文件
     * 默认为空 由系统自动定位模板文件
     * @return string
     */
    protected function buildHtml($htmlfile='',$htmlpath='',$templateFile='') 
    {
        $config = hk_cache('Config');
        $content = $this->fetch($templateFile);
        if ( request()->module() == 'content' && request()->action() == 'index') {
            $htmlfile = $htmlpath . ltrim($htmlfile,'/'.$config['html_path']);
        }else{

            $htmlpath = !empty($htmlpath) ? $htmlpath.$config['html_path'] : APP_PATH.'html/';
            $htmlfile = $htmlpath . $htmlfile;
        }
        // dump($htmlpath);exit();
        // $htmlfile = $htmlpath . $htmlfile . '.'.config('url_html_suffix');
        // dump($htmlfile);exit();
        $File = new \think\template\driver\File();
        $File->write($htmlfile, $content);
        return $content;
    }

}
